package com.letme.store.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.letme.common.core.domain.entity.WxUser;
import com.letme.store.domain.dto.ModifyWxUserDTO;
import com.letme.store.domain.dto.ModifyWxUserNickDTO;

import java.util.List;

/**
 * 微信登录用户Service接口
 *
 * @author lock
 * @date 2024-12-16
 */
public interface IWxUserService extends IService<WxUser>
{

    /**
     * 查询微信登录用户列表
     *
     * @param wxUser 微信登录用户
     * @return 微信登录用户集合
     */
    List<WxUser> selectWxUserList(WxUser wxUser);

    /**
     * 获取微信登录用户详细信息
     * @param wxUserId
     * @return 微信登录用户对象
     */
    WxUser selectWxUserByWxUserId(Long wxUserId);

    WxUser selectWxUserByOpenId(String openId);


    /**
     * 添加微信登录用户信息  lock-xq
     * @param wxUser
     * @return
     */
    Boolean insertWxUser(WxUser wxUser);
    Boolean registerWxUser(WxUser wxUser);
    /**
     * 修改微信登录用户信息  lock-xq
     * @param wxUser
     * @return
     */
    Boolean updateWxUser(WxUser wxUser);

    /**
     * 删除微信登录用户信息
     * 逻辑删除，实际还存在
     * @param wxUserIds
     * @return
     */
    Boolean fakeDelWxUserByWxUserIds(Long[] wxUserIds);

    /**
     * 删除微信登录用户信息
     * 真删除，删除后数据库不存在
     * @param wxUserIds
     * @return
     */
    Boolean realDelWxUserByWxUserIds(Long[] wxUserIds);

    //--------  小程序端  --------

    /**
     * 查询当前用户的个人信息
     */
    WxUser queryMyInfo();

    /**
     * 编辑用户资料
     * @param dto
     * @return
     */
    Boolean modifyWxUserInfo(ModifyWxUserDTO dto);

    /**
     * 编辑用户头像，昵称
     * @param dto
     * @return
     */
    Boolean modifyWxUserNick(ModifyWxUserNickDTO dto);

}
